package com.mask.encryption.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Arrays;
import java.util.List;

/**
 * Web 全局加解密配置
 */
@Data
@ConfigurationProperties(prefix = "mask.encryption.web")
public class MaskEncryptionWebProperties {

    /**
     * 是否启用全局 Web 加解密
     */
    private boolean enabled = false;

    /**
     * 是否解密请求体（application/json）
     */
    private boolean decryptRequest = true;

    /**
     * 是否加密响应体（application/json）
     */
    private boolean encryptResponse = true;

    /**
     * 通过请求头开关控制，例如 X-Encrypt: on
     */
    private String headerToggle = "X-Encrypt";

    /**
     * 是否强制要求 headerToggle 存在才启用加解密
     */
    private boolean requireHeader = false;

    /**
     * 忽略路径（不进行加解密）
     */
    private List<String> ignorePaths = Arrays.asList(
            "/actuator/**", "/h2-console/**"
    );
}


